import time

import requests
import json
'''
 情绪分析工具
 在爬虫中获取到评论或者文章信息时用来进行情绪分析（在其他代码中被调用）
'''
# 百度情感分析API的凭证
API_KEY = "YyN8ANWVggXse2GOxH5LCX9r"
SECRET_KEY = "60RXI2ntuJwqKwWqca5JXMzTGkTLrmZP"


# 这个函数是用来获取百度情感分析 API 的访问令牌
def get_access_token():
    url = "https://aip.baidubce.com/oauth/2.0/token"
    params = {"grant_type": "client_credentials", "client_id": API_KEY, "client_secret": SECRET_KEY}
    # 向url发送POST请求，获取API访问令牌
    return str(requests.post(url, params=params).json().get("access_token"))


# 这个函数对文本进行情感分析
def emotion_analysis(text):
    url = "https://aip.baidubce.com/rpc/2.0/nlp/v1/sentiment_classify?charset=UTF-8&access_token=" + get_access_token()
    # 包含要分析的文本的请求体
    payload = json.dumps({
        "text": text
    })
    headers = {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    }
    # 向url发送POST请求
    response = requests.request("POST", url, headers=headers, data=payload)
    # 将响应的文本转换为Python的字典
    result = json.loads(response.text)
    # print(result)
    sentiment = result["items"][0]["sentiment"]
    time.sleep(0.5)
    # 如果情感得分为0，则情感为“负”，1为“中”，2为“正”
    if sentiment == 0:
        emotion = "负"
    elif sentiment == 1:
        emotion = "中"
    else:
        emotion = "正"
    return emotion
